import { getNewsList } from '../../api/home'
import { formatTime, formatNum } from './../../utils/common'
// pages/news/news.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    news: [],
    loading: 0,    // 0:默认   1：加载中   2.没有更多了
    total: 0,      // 获取数据的总条数
    flag: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getData()
  },

  getData(size = 0) {
    
    this.setData({
      loading: 1
    })

    // 页面数据大于或等于数据库中的数据(说明获取的数据为0)
    if (this.data.flag) {
      if (this.data.news.length >= this.data.total) {
        this.setData({
          loading: 2
        })
        return;
      }
    }

    getNewsList({
      limit: 8,  // 数量
      size    // 0~8条（如果传入2）（2 * 8 到 2  * 8 + 8）条
    }).then(res => {
      // 格式化数据
      res.data.forEach(item => {
        item.publish_date = formatTime(item.publish_date, 5)
        item.view_count = formatNum(item.view_count)
      })

      const oddVal = this.data.news
      const newVal = res.data

      // 拼接数据
      let app = [...oddVal, ...newVal]

      this.setData({
        news: app,
        total: res.total
      })
    })

    this.setData({
      flag: true
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log("下拉刷新")

    this.setData({
      news: [],
      flag: false,
      loading: 0
    })

    this.getData()
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log("触底了")
    this.getData(this.data.news.length)
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})